// Base Agent Class
// Agent基类
class Agent {
  constructor(name, description) {
    this.name = name;
    this.description = description;
    this.data = null;
  }

  // Update with new data
  // 使用新数据更新
  updateData(data) {
    this.data = data;
    this.processData();
  }

  // Process the data - to be implemented by subclasses
  // 处理数据 - 由子类实现
  processData() {
    // Abstract method to be implemented by specific agents
    // 抽象方法，由特定Agent实现
  }

  // Make a decision based on data - to be implemented by subclasses
  // 基于数据做决策 - 由子类实现
  makeDecision() {
    // Abstract method to be implemented by specific agents
    // 抽象方法，由特定Agent实现
  }
}

module.exports = Agent;